package br.sc.senai.control.managedbeans;

import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import br.sc.senai.model.dao.EntitiesDAO;
import br.sc.senai.model.entity.Automovel;
import br.sc.senai.model.exception.EntitiesDAOExcption;

/**
 * 
 * @author Thiago TW
 * @14/06/2013
 * @locadora-de-carros
 * @AutomovelMB.java
 */

@ManagedBean(name = "AutomovelMB")
@RequestScoped
public class AutomovelMB {

	

	EntitiesDAO<Automovel> automoveldao;

	private Automovel automovel = new Automovel();

	// Inserir objeto
	public boolean Insert(Automovel aut) {

		boolean ok = false;
		try {
			automoveldao.add(aut);
			ok = true;
		} catch (EntitiesDAOExcption e) {
			ok = false;
			e.printStackTrace();
		}

		return ok;
	}

	// Retorna um objeto pelo ID
	public Automovel getById(int id) {

		Automovel cli = new Automovel();

		try {
			cli = automoveldao.getById(id);
		} catch (EntitiesDAOExcption e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return cli;

	}

	// Altera os atributos de um objeto.
	public boolean Alter(Automovel aut) {

		boolean ok = false;

		try {
			automoveldao.update(aut);
			ok = true;
		} catch (EntitiesDAOExcption e) {
			ok = false;
			e.printStackTrace();
		}
		return ok;
	}

	// Retorna uma lista com todos Objetos
	public List<Automovel> LoadAllClientes() {

		List<Automovel> retorno = null;

		try {
			retorno = automoveldao.loadAll();
		} catch (EntitiesDAOExcption e) {
			e.printStackTrace();
		}
		return retorno;
	}

	// Deleta um objeto passando o objeto inteiro.
	public boolean Del(Automovel aut) {

		boolean ok = false;

		try {
			automoveldao.delete(aut);
			ok = true;
		} catch (EntitiesDAOExcption e) {
			ok = false;
			e.printStackTrace();
		}

		return ok;
	}

	
	public Automovel getAutomovel() {
		return automovel;
	}

	public void setAutomovel(Automovel automovel) {
		this.automovel = automovel;
	}
	
	
}
